Computing systems have made significant contributions toward the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous devices, such as desktop personal computers (PCs), laptop PCs, tablet PCs, netbooks, smart phones, servers, and the like have facilitated increased productivity and reduced costs in communicating and analyzing data in most areas of entertainment, education, business, and science. One common aspect of computing devices is data compression/decompression, particularly for storing and displaying image data. A common standard for compressing and decompressing image data is the Joint Expert Group (JPEG) encoding standard.
JPEG files are not generally amenable to parallel decode. A number of existing parallel decode techniques rely on modifying the image with restart markers, which requires a re-encode of the image and reduces the compression ratio. Other existing parallel decode techniques use speculative decoding, which is wasteful on power and does not offer good performance compared to the serial decode speed on a fast CPU. According there is a continuing need for improved decoding techniques that can be applied to JPEG images and other similarly encoded files.